#ifndef CONTRASTENHANCEMENTSETTINGSFORM_H
#define CONTRASTENHANCEMENTSETTINGSFORM_H

#include <QWidget>
#include <QSlider>
#include <QLineEdit>
#include <QPushButton>

namespace Ui {
class ContrastEnhancementSettingsForm;
}

class ContrastEnhancementSettingsForm : public QWidget
{
    Q_OBJECT

public:
    explicit ContrastEnhancementSettingsForm(QWidget *parent = nullptr);
    ~ContrastEnhancementSettingsForm();

    /**
     * @brief 设置对比度增强强度
     * @param strength 增强强度值(0-100)
     */
    void setEnhancementStrength(int strength);

    /**
     * @brief 获取当前对比度增强强度
     * @return 增强强度值(0-100)
     */
    int enhancementStrength() const;

signals:
    /**
     * @brief 增强强度变更信号
     * @param strength 新的增强强度值
     */
    void enhancementStrengthChanged(int strength);
    
    /**
     * @brief 自动增强按钮点击信号
     * 用于触发自动对比度增强功能
     */
    void autoEnhanceClicked();

private slots:
    /**
     * @brief 处理滑块值变化
     * @param value 新的滑块值
     */
    void on_sliderStrength_valueChanged(int value);

    /**
     * @brief 处理自动按钮点击
     */
    void on_btnAutoEnhance_clicked();

    /**
     * @brief 处理复位按钮点击
     */
    void on_btnReset_clicked();

private:
    Ui::ContrastEnhancementSettingsForm *ui;

    // 当前增强强度
    int m_enhancementStrength;
};

#endif // CONTRASTENHANCEMENTSETTINGSFORM_H
